Wireless signals are often susceptible to radio frequency interference (RFI), which leads to corruption of data being carried in the wireless signal. In one application, the data comprise voice information carried over the wireless signal in the form of data packets. Typically, in such a wireless communication system, a decoder is used at the receiving end to decode the wireless signal for recovering the voice information. The decoder often incorporates error detection circuitry as well as error correction circuitry for detection and correction of data errors before conversion of the data packets into an audio signal that is used to drive a loudspeaker.
Traditional solutions for error detection and correction suffer from several shortcomings. For example, in one implementation, error detection and correction in the decoder is carried out by storing received data packets in a storage buffer. Upon detection of an error in an incoming data packet, the decoder replaces the defective data packet with a data packet that is generated by comparing the incoming defective data packet with the data packet stored in the storage buffer. The replacement of a defective packet is necessary so as to eliminate gaps in the data stream coming out of the decoder. Such gaps lead to unacceptable amplitude fluctuations in the audio signal routed to the speaker.
Unfortunately, the error-correction procedure described above proves inadequate when a series of incoming data packets contain errors. In this situation, the decoder may store a first defective data packet and subsequently use this defective data. The result produces an erroneously decoded data packet that may generate a highly undesirable noise pop in the loudspeaker. In certain instances, such a noise pop may not only cause discomfort to a listener but may also cause damage to the loudspeaker.